Товары в корзине: 0 шт Оформить заказ
Стр. 1 

10 страниц

 Скачать PDF

Это поправка для ГОСТ Р ИСО/МЭК 16022-2008
 

10 страниц

Дата введения01.01.2014
Актуализация01.03.2014
Стр. 1
стр. 1
Стр. 2
стр. 2
Стр. 3
стр. 3
Стр. 4
стр. 4
Стр. 5
стр. 5
Стр. 6
стр. 6
Стр. 7
стр. 7
Стр. 8
стр. 8
Стр. 9
стр. 9
Стр. 10
стр. 10

Изменение № 1 ГОСТ P ИСО/МЭК 16022—2008 Автоматическая идентификация. Кодирование штриховое. Спецификация символики Data Matrix

Утверждено и введено в действие Приказом Федерального агентства по техническому редуцированию и метрологии or 26.09.2013 № 1112-ст

Дата введения — 2014—01—01

Раздел 9 изложить в новой редакции:

♦9 Рекомендуемый алгоритм декодирования для символики Data Matrix

Данный рекомендуемый алгоритм декодирования11 позволяет находить на изображении символы Data Matrix и производить их декодирование следующим образом:

а)    определяют значения параметров размеров и формируют цифровое изображение:

1)    задают расстояние равное 7,5 диаметра апертуры, заданной н системе применения, которое считают минимальной длиной стороны L-образного шаблона поиска:

2)    задают расстояние s1!UV ранное 7,5 диаметра апертуры. Эго расстояние считают максимальным промежутком в L-образном шаблоне поиска, допускаемым алгоритмом поиска на этапе Ь);

3)    задают расстояние wmin, равное 1,25 диаметра апертуры, которое считают номинальных! наименьшим размером модуля, когда размер апертуры составляет 80 % размера А" символа:

4)    формируют черно-белое изображение, используя порот, определенный по методике, установленной в ИСО/МЭК 15415;

б)    осуществляют поиск горизонтальной и вертикальной линий сканирования для двух внешних L-образ-ных Гранин Data Matrix:

1) продлевают горизонтальную линию сканирования по обе стороны от центральной точки изображения и, следуя вдоль этой линии, находят все точки перехода черное/белое и бслос/чсрное. Для каждой точки перехода, найденной на линии сканирования и приведенной к границе пикселя (называемой далее точкой старта), производят следующее:

i)    следуют отточки старта вверх вдоль границы перехода черный — белый, пиксель за пикселем до точки, расположенной на расстоянии 3,5тт1п от точки старта, или до той точки, в которой линия границы поворачивает вниз;

ii)    следуют от точки старта вниз вдоль Гранины перехода черный — белый, пиксель за пикселем до точки, расположенной на расстоянии 3,5rnmln от точки старта, или до той точки, в которой линия границы поворачивает вверх:

iii)    если при движении вверх достигли точки, отстоящей на 3.5rnmln от точки старта:

I)    проводят лннию А. соединяющую конечные точки вертикальной границы перехода;

II)    проверяют, чтобы отклонение промежуточных точек границы от прямой линии А на-холнтось в пределах 0,5iwmm. Если это условие выполняется, то продолжают выполнение с этапа, указанного в перечислении III). В противном случае переходят к выполнению этапа, указанного в перечислении I) iv), до достижения края границы перехода в противоположное направление:

III) продолжают следовать вверх вдоль границы перехода до расстояния    от линии А.

Возвращаются в ближайшую точку границы перехода, находящуюся на расстоянии, большем или равном явш от последней точки границы перехода вдаль линии границы перехода гг сохраняют ее как конечную точку границы перехода. Эту точку следует рассматривать как одно из предлолагаехгых положений границ внешнего края L-образных границ:

IV)    продолжают следовать вниз вдоль границы перехода до расстояния 0.5тт д от линии А. Возвращаются в ближайшую точку границы перехода, находящуюся на расстоянии, большем или равным /ятм or последней точки границы перехода вдоль линии границы ггерехода и сохраняют се как конечную точку границы ггерехода. Эта точка должна быть расположена на предполагаемой границе ггерехода. гг сс следует рассматривать как одно из прелпатагасмых положений границы внешнего края L-образггых границ:

V)    вычисляют новую откорректированную линию А1. которая нагнется «наиболее приближенной» линией для границы ггерехода. определенной на двух предыдущих этапах. «Наибатсс приближенную» линию вычисляют с иеггальзованнем алгоритма линейной регрессии (иегголь-туя конечные точки для выбора завис гг мой оси. то есть если они ближе к горизонтальной оси. зависимая ось — ось х) для каждой точки. На «наиболее приближенной» ггрямой линии отмечают отрезок, ограниченный точками pi гг р2, которые яаляются ближайшими к найденным выше конечным точкам границы перехода:

VI)    сохраняют две конечные точки отрезка линии AI — р! и р2. Также сохраняют значение цвета левой стороны края границы перехода, видимое при движении от р! к р2;

Рачработаям и иные алгоритмы декодировали!! с апа.\огичпими фупкциями.

< Продолжение Игиенения № I к / ОСТ Р ИСО/МЭК 16022—2008)

iv)    cent этап, указанный в перечислении iii). закончился неудачей или невозможно продолжить движение вниз на 3.5mmin на этане, указанном в перечислении iii) IV). проверяют, достигнута ли снизу граница перехода на расстоянии 3.5/ит1п от точки старта. Если да. повторяют операции этапа, указанные в перечислении iii). но не вверх, а вниз;

v)    сети лапы, указанные в перечислениях iii) и iv), закончились неудачей, проверяют, находятся ли верхняя и нижняя границы перехода на расстоянии нс менее 2«mn от точки старта. Если достигнуты верхняя и нижняя границы перехода, то включают в формируемую границу перехода сегменты вверх и вниз на расстоянии 2ттш и повторяют операции этапа, указанные в перечислении in), но с добавлением границы перехода:

vi)    повторяют вышеуказанный процесс для следующей точки перехода на линии сканирования. начиная с этапа, указанного в перечислении i). до достижения края изображения;

2)    проводят линию сканирования вертикально в обоих направлениях от центральной точки изображения. Находят отрезки линий с использованием той же логической процедуры, что и на этапе, указанном в пункте I). одновременно следуя от каждой границы перехода символа влево, а затем вправо:

3)    среди сохраненных отрезков линий Л1 осуществляют поиск пар отрезков, удовлетворяющих следующим четырем условиям:

i) сети два отрезка имеют одно и то же направление от р! до р2, проверяют, что расстояние от точки pi одного огрезка до точки р2 другого отрезка менее, чем £mj<; сети противоположное, то проверяют, что расстояние между точками pi и pi или между' точками р2 и р2 разных отрезков менее, чем *ГОйк;

й) два вышеуказанных отрезка должны быть параллельными с отклонением нс более 5‘;

iii)    два вышеуказанных отрезка должны быть одного цвета, если отрезки имеют одинаковое направление от pi к р2. или противоположного цвета, если направления этих отрезков противоположны:

iv)    формируют две временные линии, продолжая каждый из двух рассматриваемых отрезков по достижении на их продолжениях точки, ближайшей к конечной точке отрезка другой линии. Проверяют. чтобы обе временные линии были отделены менее чем на 0.5/лт|п от любой иной точки каждой линии;

4)    для каждой пары линий, соответствующих требованиям этапа, указанного в перечислении 3), заменяют эту пару отрезков линий на один удлиненный отрезок линии А1 путем выбора «наиболее приближенной» линии но четырем конечным точкам нары рассматриваемых коротких отрезков линий. Также запоминают значение цвета левой стороны границы перехода новой удлиненной линии, рассматриваемой от конечной точки pi до конечной точки р2:

5)    повторяют этапы, указанные в перечислениях 3) и 4). до тех пор. пока возможно комбинировать пары линии AI;

6)    выбирают отрезки линии длиннее dmln. Помечают эти линии как предполагаемые L-образныс стороны;

7)    находят среди полученных пар предполагаемых L-образных сторон две линии, которые должны соответствовать следующим трем критериям:

i) ближайшие точки этих Линий должны находиться друг от друга на расстоянии менее 1.5?п ^

и) эти две линии должны быть взаимно перпендикулярны с погрешностью до 5*:

iii) внутренняя сторона угла, образованного этими линиями, должна иметь один и тот же цвет. Следует имел, ввиду, что если одна или обе линии простираются в обе стороны от точки их пересечения. то дна или четыре образованных L-образных шаблона должны быть проверены на соответствие цвету и минимальной дтинс dmia дтя укороченной стороны или сторон, прежде чем они могут стать предполагаемыми L-образными границами;

8)    для каждой пары отрезков — предполагаемых L-образных границ, найденных на этапе, указанном в перечислении 7). формируют предполагаемую L-образную структуру путем продления отре зков до точки их пересечения;

9)    если предполагаемая L-образная структура была сформирована из отрезков линий белою цвета внутри угла L-образной структуры, формируют инвертированное но цвету изображение для декодирования. Предпринимают попытки декодировать символ, начиная с нормального или инвертированного изображения, выбирая в качестве начального этап, указанный в перечислении d), используя каждую предполагаемую L-образную структуру, определенную на этапе, указанном в перечислении 8). как L-образный шаблон поиска. Если декодирование нс удалось выполнить, переходят к этапу, указанному в перечислении с);

2

< Продагжение Ихченения № I к ГОСТ Р ИСО/МЭК !Ы)22—2008)

c)    продолжают подбирать отрезки линий А! и предполагаемые L-образныс структуры аналогично предыдущим этапам, также продолжают поиски предполагаемых L-образных структур, используя горизонтальное и вертикальное смешение линий сканирования по отношению к предыдущим линиям сканирования:

1)    используя новую горизонтальную линию сканирования, проведенную на расстоянии ЗтЮ1П выше от центральной горизонтальной линии, повторяют в том же порядке действия этапа, указанного в пункте b) 1). исключая действия, при которых процесс начинается из центральной точки изображения. и этапы, указанные в перечислениях от Ь) 3) до Ь) 9). Сети декодирование нс удалось выполнить, переходят к следующему этапу;

2)    используя новую вертикальную линию сканирования, проведенную на расстоянии 3wmi(i слева от центральной вертикальной линии сканирования, повторяют действия этапа, указанною в перечислении Ь) 2). исключая действия, при которых процесс начинается из центральной точки изображения. и этапы, указанные в перечислении от Ь) 3) до Ь) 9). Если декодирование нс удалось выполнить, переходят к следующему этапу:

3)    повторяют действия этапа, указанною в перечислении 1) выше, используя новую горизонтальную линию сканирования, расположенную на расстоянии Зшт.п ниже центральной горизонтальной линии сканирования. Если декодирование не удалось выполнить, повторяют действия этапа, указанного в перечислении 2). но со сдвигом новой вертикальной линии сканирования на 3mmin вправо от центральной вертикальной линии сканирования. Если декодирование нс удаюсь выполнить, переходят к этапу, указанному в перечислении 4);

4)    продолжают производить горизонтальные и вертикальные линии сканирования, как это предусмотрено на этапах, указанных в перечислениях I) — 3). на 3mmill вверх, затем атсво. затем вниз, затем вправо от ранее произведенных линий сканирования до успешного декодирования символа или до достижения края изображения;

d)    первоначально считают, что область-кандидат содержит символ квадратной формы. Если декодировать область как символ квадратной формы не удается, пытаются найти и декодировать символ прямоугольной формы, начиная с этапа, указанного в перечислении j). Для символа квадратной формы сначала формируют нормализованную схему переходов для равных сторон области-кандидата, чтобы найти шаблон поиска с чередующимися модулями:

1)    проводят через область-кандидат линию, делящую пополам внутренний угол, образованный L-образными сторонами (рисунок 9). Определяют две равные области, образованные этой разделительной линией (биссектрисой), ад к левую и правую области со стороны угла L-образной структуры;

2)    для каждой области формируют так называемую линию поиска, расположенную на расстоянии dmin от вершины угла L-образной структуры и параллельную другой се стороне, и продолжают эту линию до биссектрисы согласно рисунку 9;

3)    сдвигают каждую линию поиска от вершины угла L-образной структуры (рисунок 9). удлиняя каждую линию поиска, чтобы они всегда начинались от стороны угла L-образной структуры и заканчивались на биссектрисе, сохраняя линии поиска параллельными противоположным сторонам угла L-образной структуры. Каждый раз. копта линия поиска сдвигается на один пиксель изображения, подсчитывают число переходов от черного к белому и от белого к черному, начиная и заканчивая подсчет с перехода от цвета стороны L-образной структуры к противоположному цвету. Подсчет переходов следует делать только тогда, когда линия поиска имеет тс же самые цвета, что и две линии непосредственно выше и ниже (левее и правее) текущей, и отличается по цвету от предыдущей линии поиска, для которой такой подсчет делался. Вычисляют величину Г как число переходов, умноженное на длину наибольшей стороны L-образной структуры и разделе и нос на текущую длину линии поиска, измеренную между двумя граничными линиями:

Г « (число переходов) х (максимальная длина стороны L-образной структуры)/(диша линии поиска).

Эта формула нормализует значение Т, предупреждая его увеличение по xicpc увеличения .пины линии поиска.

Продолжают вычислять значения 7“до тех пор, пока линия поиска нс будет адиннсс наибольшей оси предполагаемой обласш-кандидата символа на 50 %:

3

(Продагжение Изменения № 1 к ГОСТ Р ИСО/МЭК16022—2008)

поиска

Рисунок 9 — Направлении движения линий поиска

4) строят график зависимости Т для каждой стороны (области), где на оси ординат Y указано знамение Т. а на оси абсиисс X — расстояние линии поиска от вершины угла L-образной структуры. Пример графика приведен на рисунке 10;

Рисунок 10— Пример графика зависимости Гот увеличения длины линии поиска

5) рассматривают график Т для правой стороны (области), начиная с наименьших значений по оси X, с постепенным увеличением значений X но этой оси. Находят первое место резкого падения значении на трафике Г. где значение Ts (Ta — максимальное значение одной из двух величин — ноль и Г— 1) менее 15 % значения Т в местном локальном максимуме (при условии, что Т более 1). Увеличивают это значение X. пока значение Т не перестанет уменьшаться. Если в следующей точке Значение 7'нс увеличивается, то увеличивают значение Л'сше paj. Отмечают это значение X как соответствующее впадине. Увеличивают значение X для поиска локальною максимума до тех пор, пока чисто переходов нс станет уменьшаться. Отмечают это значение X как соответствующее пику. Значение Xровно посередине между Л1 для опалины и Xдля пика называют Л'линии убывания. Линин поиска в точке пика может соответствовать стороне чередующегося шаблона поиска противоположной области. Линия поиска во впадине может соответствовать внутренней части однородной темной линии или светлой свободной зоне:

4

(Продолжение Изменения № I к ГОСТ Р ИСО/МЭК 16022—200$)

6)    находят пик и впадину на графике для левой стороны (области). Л'линии убывания которых в наибольшей степени подходят по координате А'линии убывания пика и впадины на графике для правой стороны (области). При возвращении к этому лапу от этапов, указанных ниже, рассматривают дополнительные пики и впадины левой области в порядке увеличения расстояния от пиков и впадин правой области. Однако должны быть просмотрены все ники и впадины левой области, чтобы таран тировать, что разница между значениями X для пиков правой и левой области менее чем на 15 % отличается от среднего значения .V для двух пиков и что разница между значениями X для впадин правой и левой области менее чем на 15 % отличается от среднего значения Л'дтя двух впадин. Значение, равное 15 %, соответствует максимально разрешенному сокращению;

7)    линия поиска, соответствующая впадине на трафике дтя правой стороны, линия поиска, соответствующая впадине на графике для левой стороны, и две стороны угла L-образной структуры очерчивают возможную область данных символа. Проводят обработку этой области данных согласно этапу, указанному в перечислении с). Если декодирование выполнено неудачно, бракуют значения для пика и впадины на трафике для левой области и продолжают поиск, начиная с этапа, указанного в пункте d) 6). для следующего пика и впадины. Если все пики и впадины левой области были забракованы, бракуют значения дтя пика и впадины на графике для провой области и продолжают поиск, начиная с этапа, указанного в пункте d) 5). для следующего пика и впадины;

с) для каждой из двух сторон чередующегося шаблона находят линию, проходящую через центры чередующихся темных и светлых модулей:

1) для каждой стороны формируют прямоугольную область, ограниченную линиями поиска дтя пика и впадины как двумя длинными сторонам» прямоугольной области и стороной L-образной структуры и линией для впадины для другой стороны как короткими сторонами прямоугольной области (рисунок II):

Рисунок 11 — Построение прямоугольной области

2) в пределах этой прямоугольной области находят пары границ между пикселями на стороне с • зубцами*:

i) проводят контрольные линии, параллельные линии виатины. первая из которых совпадает с этой линией, и определяют все переходы цвета в напрлатсник. перпендикулярном к контрольным линиям. Выбирают только перехолы от темного к светлому или от светлого к темному, где первый цвет соответствует преобладающему цвету на изображении вдоль линии впадины;

U) сети число найденных цветовых переходов менее, чем 15 % числа пикселей, составляющих линию впадины, и контрольная линия нс является линией пика, сдвигают контрольную линию в сторону линии ника приблизительно на один пиксель и повторяют действия этапа, указанного в перечислении i), рассматривая новые переходы в дополнении к уже найденным. Если выполнено условие натичия 15 % числа цветовых переходов к числу пикселей или достигнута линия пика.

5

(Продолжение Изменения № I к ГОСТ Р ИСО/МЭК 16022—2008)

переходят к следующему лапу; иначе продолжают поиск, начиная с пункта d) 6) для следующих пикон и впадин левой области;

iii)    вычисляют предварительную «наиболее приближенную линию» с помощью алгоритма линейной регрессии, используя точки на границах между выбранными парами пикселей;

iv)    отбрасывают 25 % точек, наиболее отдаленных от предварительной «наиболее приближенной линии*. Вычисляют окончательную «наиболее приближенную линию* с помощью алгоритма линейной регрессии с использованием оставшихся 75 % точек. Эта линия должна проходи ть вдоль внешней стороны чередующегося шаблон;! и указана на рисунке 12 как «наиболее приближенная» линия;

3) для каждой прямоугольной области строят линию, параллельную линии, определенной на этапе, указанном в перечислении с) 2), смешенную в сторону вершины угла L-образной структуры на длину «пиковой* линии поиска, разделенную на удвоенное число переходов на ЭТОЙ линии поиска: Смешение {Offset) ** длина линии пика/((число переходов) - 1) х 2).

Каждая из этих двух построенных линий должна соответствовать линии, проведенной через середины модулей внешнего или внутреннею чередующеюся шаблона для этой стороны (рисунок 12).

Рисунок 12 — .Пиния центров модулей чередующегося шаблона

0 для каждой стороны определяют расстояние от края до края в чередующемся шаблоне:

1) ограничиваю! линию, проходящую через центры модулей чередующеюся шаблона, сформированную на этапе, указанном в перечислении е) 3). с одной стороны границей L-образной сгруктуры, а с другой стороны — средней линией чередующегося шабтона. определенной на этапе, указанном в перечислении с) 3). Длину этой линии обозначают Мл (рисунок II);

2) вдоль ограниченной средней линии измеряют расстояния от края до края между всеми подобными границами всех двухэлементных пар. то есть пар элементов тсмный/светлый и свсглый/темный.

Измерения начинаются и заканчиваются с границы перехода от цвета стороны L-образной структуры к противоположному пвету;

3)    вычисляют среднее арифметическое значение всех измерений расстояний от края до края и устанавливают текущую оценку расстоянии от края до края EE_Dist как это среднее;

4)    бракуют все пары 'элементов, у которых измеренные расстояния от края до края отличаются более чем на 25 % от EE Disi:

g) для каждой стороны находят центральные точки модулей в чередующемся шаблоне:

1) используя измеренные расстояния нар элементов, не забракованные на этапе, указанном в пункте 0 4). вычисляют среднее приращение ширины темного элемента (штриха) при печати (по вертикали или горизонтали в зависимости от стороны сегмента) по формуле как среднее приращение ширины темного элемента (штриха) при печати для пар элементов (тсмный/светлый или штрих/иро-

6

(Продагжение Ихченения № 1 к ГОСТ Р И СО/МЭК 16022—2008)

бел, в которой «штрих» — это ширина темного элемента, а «пробел» — ширина светлого элемента в оставшейся паре xicxichtob):

ink_spread - Average ((bar— ((bar ♦ space)/2)) / ((bar + space)/2) )t};

2)    вычисляют иентр темного элемента (штриха) в парс элементов, занимающих среднее положение. используя следующее смешение в сторону темного элемента (штриха) от внешнего края темного элемента (штриха) в парс элементов, занимающих среднее положение:

offsetт (EE_DLst х (! +* ink^spread)) / 42>.

Если есть более одной пары элементов, занимающих среднее положение, выбирают единственную пару, используя следующий проиесс:

i) просматривают список краев (пар элементов) в порядке увеличения расстояния от границы L-образного шаблона поиска. Количество краев должно быть нечетным числом, поскольку они начинаются и заканчиваются с перехода от темного к светлому, начиная с L-образного шаблона поиска:

Н) средний край в этом списке называют центральным краем:

iii)    вычисляют (нечетное чисто) расстояния от края до края пар элементов и находят их медиану EE^Dist;

iv)    выбирают одну или более пар элементов с длиной EE^Dist;

v)    среди этих пар выбирают одну или две пары краев элементов, которые имеют края, самые близкие к центральному краю:

vi)    если необходимо, выбирают пару элементов, которые имеют внешний темный край, самый близкий к центральному краю:

vii)    если необходимо, выбирают пару элементов, которые имеют внутренний край, самый близкий к центральному краю:

3)    начиная от центра темного элемента (штриха) пары элементов, занимающих среднее положение. из этапа, указанного н перечислении 0 3). и продолжая процесс н направлении светлого элемента (пробела) из пары элементов, до конца ограниченной средней линии, вычисляют центр каждого элемента. выделенного белыми точками на tcxhioxi фоне (рисунок 13) с выполнением следующих действии:

т

Г-

1

1 02

&

из

4

1

Рисунок 13 — Измерения расстояний от края до края для определения центра каждого элемента

м Обозначения я формуле:

ink spread - среднее приращение ширины те иного цемента (штриха) при печати: Average - обозначение среднеарифметического значения; bar - ширина темного цемента (штриха); space — ширина слет лого цемента (пробела).

Обозначения я формуле offset - смещение;

EE Dist— среднее арифметическое значение измеренных расстояний от края до края; ink spread — сре*)пее приращение ширины темного цемента (штриха) при печати.

7

(Продолжение Игчененин № I к ГОСТ Р НСО/МЭК 16022—2008)

Примечание - На рисунке 13 покаымм грн темни* (штриха) и два светлых элемента (пробела). Если элемент, центр которого вычислиют. светлый (пробел), то на схеме должны быть представлены три светлых элемента (пробела) вместо темных (штрихов) и два темных элемента (штриха) вместо светлых (пробелов). Для светлых элементов (пробелов), смежных с конечными элементами средней линии, итмерения расстояний 01 или 04 не проводят, поскольку они окатываиэтси ia гранииами символа или и!меряемого сегмента.

i) вычисляют точку pi. находящуюся на средней линии на расстоянии £E_Dut/2от предыдущего вычисленного центра элемента в направлении нового элемента;

И) вычисляют значения dt — dj.

d, «01/2,

d, « 02.

dj - 03.

d^M/2.

iii)    если одно из значений dx — d4 находится в пределах 25 % от EE_Disi, выбирают одно из значений d{. ближайшее к EE_Dist, и устанавливают новое значение EE_Dist как среднее между текущим значением EE Dist и выбранным dt из диапазона dx — dt:

I)    если выбрано значение dx ilhi dx. определяют соответствующий край 01 или 04. ближайший к элементу, центр которого необходимо вычислить. Сдвигают этот край на расстояние (ink_spread/2) х (EEJDist/2) в соответствующем направлении (то есть, если приращение ширины темного элемента (штриха) ink_spread положительная величина, смешение края должно быть в сторону светлого элемента (пробела), заключенного в пределах значений 01 или 04. и, если отрицательная, смешение должно быть в противоположную сторону от светлого элемента). Вычисляют точку р2. находящуюся на средней линии на расстоянии 0.75 выбранного значения dx или d4 от этого смешенного края в сторону элемента, центр которого должен быть вычислен;

II)    сети выбрано значение г/, или dy определяют соответствующий край 02 или 03. ближайший к элементу, центр которого необходимо вычислить. Сдвигают этот край на расстояние (ink_spreud/2) х (EE bist/2) в соответствующем направлении (го есть, если приращение ширины темного элемента (штриха) при печати является положительным значением, смешение края должно быть проведено в строну светлого элемента (пробела), заключенного в пределах значений 02 или 03. и, если отрицательным, смешение должно быть в противоположную сторону от светлою элемента). Вычисляют точку р2 , находящуюся на средней линии на расстоянии 0.25 выбранного значения d, или </, от смешенного края в сторону элемента, центр которого следует вычислить:

III)    считают, что центр элемента находится точно посередине между точками р! и р2:

iv)    в прогинном случае, если ни одно из значений dx, dy ddA нс находится в пределах 25 % ЕЕ Dist, оставляют текущее значение EE_Dist. используют р! как центр нового элемента и переходят к определению следующего элемента;

4) начиная с темного элемента в парс элементов, занимающих среднее положение, и продолжая в противоположном направлении по отношению к определенному на этапе, указанном в пункте 3), вплоть до окончания ограниченной средней линии, вычисляют центры каждого элемента, используя порядок действий, установленный для этапа, указанного в перечислении 3);

h) если число модулей в каждой стороне нс соответствует допустимой первой области, продолжают искать с этапа, указанного в перечислении d) 6). для следующего левого пика и впадины. Иначе составляют пробную сетку модулей данных в области данных, проводя линии из центров модулей шаблона чередующихся модулей:

1)    ДЛЯ каждой стороны продолжают каждую линию, построенную на этапе, указанном в перечислении с) 3), и линию противоположной стороны L-образной структуры дтя формирования точек схода двух почти параллельных линий;

2)    из каждой точки схода проводят лучи, проходящие через центры модулей, построенные на этапе, указанном в перечислении g), в направлении, близком к перпендикуляру к линии, полученной на этапе. указанном в перечислении е) 3):

3)    точки пересечения этих двух направлений лучей, близких к перпендикулярным, должны соответствовать центрам модулей данных в области данных (рисунок 14):

(Продолжение Изменения № I к ГОСТ Р ИСО/МЭК 16022—2008)

1'

1

и

н

/

Imi

ъ

*

А

Р*

У

V

й|

■1Ш

ь

>

ткл

4

У1Й

4

лева

л/

(1

л

«НИ

ч"

Щ

4 К 4

%

ис лмай атерома

V Щ

Е Ш

г* >

г™_£=

v Z ктемеш ежра

у * прямых провой

»т

J * v ошреим

--ч*

1 <

L /

^ ч

S ч >

ш

Ей

шшш

Рисунок 14 — Формирование реальной сетки модулей

i)    продолжают заполнение остальных областей данных:

1)    в процессе составления области данных формируют новую L-образную структуру части данных левее или выше, используя одну из двух следующих процедур:

i) если новая область данных по-прежнему ограничена с одной стороны исходной L-образной структурой, полученной на этапе, указанном в перечислении Ь). повторяют этап, указанный в перечислении с), устанавливая новую область данных и используя множество точек, выбранных на этапе, указанном в перечислении с) 2). и множество точек на стороне L-образной структуры из этапа, указанного в перечислении Ь) 2). которые находятся за пределами линии, полученной на этапе, указанном в перечислении с) 2).

и) сети новая область данных ограничена с двух сторон другими областями данных, повторяют порядок действий с этапа, указанного в перечислении с), для определения новой области данных с помощью множества точек, выбранных на этапе, указанном в перечислении с) 2). дтя каждой области данных, которая примыкает и ограничивает новую область данных с двух сторон;

2)    если область данных нс соответствует по числу модулей ранее полученным областям данных, символ корректируют путем его уменьшения до ближайшего большего числа областей, допускаемых стандартом дтя символа;

2) декодируют символ с одной или несколькими обтастнми данных, начиная с последовательности действий, установленных на этапе, указанном в перечислении к);

4) если в текущей области данных закончили просмотр последнего пика и впадины, возвращаются в предыдущую область данных и продолжают поиск с этапа, указанного в перечислении d) 6) для следующего оставшегося ника и впадины в этой области данных:

j)    находят области данных прямоугольного символа:

1) для каждой стороны L-образной структуры передвигают линию поиска, перпендикулярную этой стороне, от вершины угла L-образной структуры, осуществляя сканирование но длине другой стороны L-образной структуры, сохраняя линию поиска параллельной другой стороне L-образной структуры. Каждый раз. когда линия поиска сдвигается на один пиксель изображения, подсчитывают число переходов от черного к белому и от белого к черному, начиная и заканчивая подсчет с перехода от цвета стороны L-образной структуры к противоположному цвету. Подсчет переходов следует делать только тогда, когда линия поиска имеет тс же самые цвета, что и две линии непосредственно выше и ниже (левее и правее) текущей, и отличается по цвету от предыдущей линии поиска, для которой такой подсчет делался. Строят график -зависимости числа переходов Т от расстояния X, на которое сдвигают линию поиска. Продолжают, пока линия нс сдвинется на длину противоположной стороны L-образной структуры -НО %:

9

(Продолжение И мнения № 1 к ГОСТ Г ИСО/МЭК 16022-200$)

2)    для каждого направления рассматривают графики Т. начиная с наименьших значений по оси А. с постепенным увеличением значений X по этой оси. Находят первое место, где значение 7^ (7^ — максимальное значение одной из двух величин - ноль и Г— 1) станет меньше, чем 15 % предшествующего местного максимума значения Г, при условии, что значение Т больше единицы. Увеличивают значение Л, пока значение Т нс перестанет уменьшаться. Если в следующей точке значение Т нс увеличивается, увеличивают значение X сшс раз. Отмечают это значение Л' как соответствующее впадине. Увеличивают значение X для поиска локального максимума до тех пор, пока Т не начнет у\1С1<ыиаться. и отмечают это значение X как соответствующее пику. Точку X посередине между А' пика и X впадины отмечают как АГлинии убывания. Линия впадины в /гой точке может формировать сторону символа или его области данных;

3)    ищут чередующийся шабдок поиска для каждой области данных, как описано на этапе, указанном н перечислении с);

4)    составляю! примерную сетку модулей области данных символа, как описано на /танах, указанных н перечислениях i), g) и h);

5)    сети область данных нс является надлежащим прямоугольным символом, формируют новый pci ион данных, используя следующие пики и впадины;

6)    строят все добавочные области данных, как описано на /тане, указанном в перечислении i):

7)    если удалось обнаружить правильную область данных или две области, пытаются декодировать символ, как описано на этапах, указанных н перечислениях к) и I). Если облаеть(и) не удастся декодировать. исключают эту(и) область-кандидат;

k)    если число модулей данных является четным числом или символ имеет надлежащую прямоугольную форму, выполняют его декодирование, используя алгоритм исправления ошибок Рида-Соломона:

1)    определяют модули данных в предполагаемых центрах сетки. Тсхшый модуль соответствует единице, светлый модуль — нулю;

2)    преобразуют группы по восемь модулей по определенным шаблонам кодовых слов в 8-битовыс значения знаков символа:

3)    выполняют процедуру исправления ошибок Рида-Соломона с полученными значениями знаков символа;

4)    декодируют знаки символа в знаки данных в соответствии с установленными схемами декодирования;

l)    если число модуле»! данных является нечетным числом, то декодируют символ, используя алгоритм сверточного кола исправления ошибок:

1)    определяют модули данных в предполагаемых центрах сетки. Темный модуль соответствует единице. светлый модуль — нулю;

2)    применяют черно-белую выравнивающую маску;

3)    используя соответствующую таблицу расположения битов, преобразуют данные в двоичный поток;

4)    затем применяют алгоритм сверточного кода исправления ошибок;

5)    преобразуют битовый поток в знаки данных, используя соответствующую схему кодирования:

6)    выполняют проверку правильности контрольной суммы CRC.

<ИУС№ 1 2014 г.)

Ю